
/*~~~~~~~~~~~~~~~~~~~~~~~~【作用域规则】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//任何一种编程中，作用域是程序中定义的变量所存在的区域，超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量：
//
//在函数或块内部的局部变量
//在所有函数外部的全局变量
//在形式参数的函数参数定义中

/*~~~~~~~~~~~~~~~~~~~~~~~~【局部变量】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//#include <stdio.h>
// 
//int main ()
//{
//  /* 局部变量声明 */
//  int a, b;
//  int c;
// 
//  /* 实际初始化 */
//  a = 10;
//  b = 20;
//  c = a + b;
// 
//  printf ("value of a = %d, b = %d and c = %d\n", a, b, c);
// 
//  return 0;
//}

/*~~~~~~~~~~~~~~~~~~~~~~~~【全局变量】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//#include <stdio.h>
// 
///* 全局变量声明 */
//int g;
// 
//int main ()
//{
//  /* 局部变量声明 */
//  int a, b;
// 
//  /* 实际初始化 */
//  a = 10;
//  b = 20;
//  g = a + b;
// 
//  printf ("value of a = %d, b = %d and g = %d\n", a, b, g);
// 
//  return 0;
//}

/*~~~~~~~~~~~~~~~~~~~~~~~~【局部变量和全局变量的名称可以相同，但是在函数内，如果两个名字相同，会使用局部变量值，全局变量不会被使用。】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//#include <stdio.h>
// 
///* 全局变量声明 */
//int g = 20;
// 
//int main ()
//{
//  /* 局部变量声明 */
//  int g = 10;
// 
//  printf ("value of g = %d\n",  g);
// 
//  return 0;
//}

/*~~~~~~~~~~~~~~~~~~~~~~~~【形式参数】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//#include <stdio.h>
// 
///* 全局变量声明 */
//int a = 20;
// 
//int main ()
//{
//  /* 在主函数中的局部变量声明 */
//  int a = 10;
//  int b = 20;
//  int c = 0;
//  int sum(int, int);
// 
//  printf ("value of a in main() = %d\n",  a);
//  c = sum( a, b);
//  printf ("value of c in main() = %d\n",  c);
// 
//  return 0;
//}
// 
///* 添加两个整数的函数 */
//int sum(int a, int b)
//{
//    printf ("value of a in sum() = %d\n",  a);
//    printf ("value of b in sum() = %d\n",  b);
// 
//    return a + b;
//}

/*~~~~~~~~~~~~~~~~~~~~~~~~【初始化局部变量和全局变量】~~~~~~~~~~~~~~~~~~~~~~~~~*/
//当局部变量被定义时，系统不会对其初始化，您必须自行对其初始化。定义全局变量时，系统会自动对其初始化，如下所示：
//
//数据类型	初始化默认值
//int	0
//char	'\0'
//float	0
//double	0
//pointer	NULL

/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/


/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/


/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/


/*~~~~~~~~~~~~~~~~~~~~~~~~【】~~~~~~~~~~~~~~~~~~~~~~~~~*/



